ger_file <- getData("GADM", country = "Germany", level = 1)
bay_file <- ger_file[match(toupper("Bayern"),toupper(ger_file$NAME_1)),]
bay_raster <- raster(xmn = 8.975, xmx = 13.84167, ymn = 47.26667, ymx = 50.56667, nrow = 396, ncol = 584)
bay_raster[] <- runif(396*584)
bay_mask <- mask(bay_raster, bay_file)
height <- getData(name = "alt", country = "Germany")
names(height) <- "height"
height <- crop(height, bay_mask)
height <- mask(height, bay_mask)
writeRaster(height, "../../Daten/Raster/height_raster")
weatherdata <- getData("worldclim", var = "bio", res = 0.5, lon = 12.101624, lat = 49.013432)
weatherdata <- weatherdata[[c(1, 12)]]
names(weatherdata) <- c("temp", "rain")
weatherdata <- crop(weatherdata, bay_mask)
weatherdata <- mask(weatherdata, bay_mask)
weatherdata <- stack(weatherdata[[1]] / 10, weatherdata[[2]])
writeRaster(weatherdata[[1]], "../../Daten/Raster/temp_raster")
writeRaster(weatherdata[[2]], "../../Daten/Raster/rain_raster")
env_data <- terrain(height, opt = c("slope", "aspect", "tpi"), unit = "degrees")
env_data$aspect <- ceiling((env_data$aspect + 360/8/2)/(360/8))
env_data$aspect[env_data$aspect > 8] <- 1
env_data <- crop(env_data, bay_mask)
env_data <- mask(env_data, bay_mask)
writeRaster(env_data[[1]], "../../Daten/Raster/tpi_raster")
writeRaster(env_data[[2]], "../../Daten/Raster/slope_raster")
writeRaster(env_data[[3]], "../../Daten/Raster/aspect_raster")
(Source: s. Bene)
river_shape <- shapefile("../../Daten/Raster/RawFiles/DEU_water_lines_dcw.shx")
lake_shape <- shapefile("../../Daten/Raster/RawFiles/DEU_water_areas_dcw.shx")
river_raster <- mask(bay_raster, river_shape)
lake_raster <- mask(bay_raster, lake_shape)
distance_river <- distance(river_raster)
distance_lake <- distance(lake_raster)
distance_water <- min(distance_lake, distance_river)
writeRaster(distance_river, "../../Daten/Raster/RawFiles/river")
writeRaster(distance_lake, "../../Daten/Raster/RawFiles/lake")
writeRaster(distance_water, "../../Daten/Raster/RawFiles/water")
names(distance_water) <- "distance_water"
distance_water <- mask(distance_water, bay_mask)
writeRaster(distance_water, "../../Daten/Raster/distance_water_raster")
(Source: https://www.lfu.bayern.de/umweltdaten/geodatendienste/pretty_downloaddienst.htm?dld=gk500)
loess_shape <- shapefile("../../Daten/Raster/RawFiles/Loess/gk500_haupteinheiten_epsg4258.shx")
# Warum Haupteinheiten? Was ist mit Linien, Struktur? Enthält Haupteinheiten alles?
loess_shape <- loess_shape[str_detect(loess_shape$kurztext, "Löß"),]
loess_raster <- mask(bay_raster, loess_shape)
distance_loess <- raster::distance(loess_raster)
names(distance_loess) <- "distance_loess"
writeRaster(distance_loess, "../../Daten/Raster/RawFiles/loess")
distance_loess <- mask(distance_loess, bay_mask)
writeRaster(distance_loess, "../../Daten/Raster/distance_loess_raster")
(Source: https://maps.dwd.de/geoserver/web/wicket/bookmarkable/org.geoserver.web.demo.MapPreviewPage?0)
frostdays <- raster("../../Daten/Raster/RawFiles/dwd-Frostdays_annual_map_normals_1971_30.tif")
names(frostdays) <- "frostdays"
frostdays <- projectRaster(frostdays, crs = crs(bay_mask))
frostdays <- resample(frostdays, bay_mask)
frostdays <- mask(frostdays, bay_mask)
writeRaster(frostdays, "../../Daten/Raster/frostdays_raster")
# frostdays <- raster("../../Daten/Raster/frostdays_raster.grd")
(Source: https://maps.dwd.de/geoserver/web/wicket/bookmarkable/org.geoserver.web.demo.MapPreviewPage?0)
sunhours <- raster("../../Daten/Raster/RawFiles/dwd-SDMS_17_1971_30.tif")
names(sunhours) <- "sunhours"
sunhours <- projectRaster(sunhours, crs = crs(bay_mask))
sunhours <- resample(sunhours, bay_mask)
sunhours <- mask(sunhours, bay_mask)
writeRaster(sunhours, "../../Daten/Raster/sunhours_raster")
# sunhours <- raster("../../Daten/Raster/sunhours_raster.grd")
(Source: https://land.copernicus.eu/pan-european/corine-land-cover/clc2018?tab=download)
corine <- raster("../../Daten/Raster/RawFiles/CLC2012_CLC2006_V2018_20b2.tif")
names(corine) <- "corine"
corine <- projectRaster(corine, bay_mask)
writeRaster(corine, "../../Daten/Raster/RawFiles/corine")
corine <- mask(corine, bay_mask)
writeRaster(corine, "../../Daten/Raster/corine_raster")
predictors <- stack(c(
"../../Daten/Raster/height_raster.grd",
"../../Daten/Raster/temp_raster.grd",
"../../Daten/Raster/rain_raster.grd",
"../../Daten/Raster/distance_water_raster.grd",
"../../Daten/Raster/distance_loess_raster.grd",
"../../Daten/Raster/frostdays_raster.grd",
"../../Daten/Raster/sunhours_raster.grd",
"../../Daten/Raster/corine_raster.grd",
"../../Daten/Raster/tpi_raster.grd",
"../../Daten/Raster/slope_raster.grd",
"../../Daten/Raster/aspect_raster.grd"))
predictors <- stack(c(
predictors[[1]]/100,
predictors[[2]],
predictors[[3]],
predictors[[4]]/1000,
predictors[[5]]/1000,
predictors[[6]],
predictors[[7]],
predictors[[8]],
predictors[[9]],
predictors[[10]],
predictors[[11]]
))
plot(predictors[[1]], main = "height")
plot(predictors[[2]], main = "temp")
plot(predictors[[3]], main = "rain")
plot(predictors[[4]], main = "distance_water")
plot(predictors[[5]], main = "distance_loess")
plot(predictors[[6]], main = "frostdays")
plot(predictors[[7]], main = "sunhours")
plot(predictors[[8]], main = "corine")
plot(predictors[[9]], main = "tpi")
plot(predictors[[10]], main = "slope")
plot(predictors[[11]], main = "aspect")